﻿
# 高阶函数

# 变量可以指向函数
print "internal function abs =",abs
f=abs
print "f=abs  = ",f

# 传入函数
def add(x,y,f):
	return f(x)+f(y)
	
print "add(-5,6,abs) =",add(-5,6,abs)

# 函数名也是变量
abs=10
print "abs =",abs
#print "abs(-3) =",abs(-3) #error

# 由于abs函数实际上是定义在__builtin__模块中的，所以要让修改abs变量的指向在其它模块也生效，要用__builtin__.abs = 10。

